<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //倒计时效果
        //  1.核心算法:输入的时间减去现在的时间就是剩余的时间，即倒计时﹐但是不能拿着时分秒相减，比如 05分减去25分，结果会是负数的。
        //  2.用时间戳来做。用户输入时间总的毫秒数减去现在时间的总的毫秒数，得到的就是剩余时间的亳秒数。
        //  3.把剩余时间总的毫秒数转换为天、时、分、秒(时间戳转换为时分秒)
        //  转换公式如下:
        //  d = parseInt(总秒数/60/60/24); // 计算天数
        //  h = parseInt(总秒数/60/60 %24); // 计算小时
        //  m = parseInt(总秒数/60 %60 ); // 计算分数
        //  s = parseInt(总秒数%60); // 计算当前秒数
        function countDown(time){
            var nowTime = +new Date(); // 返回的是当前时间总的毫秒数
            var inputTime = +new Date(time); // 返回的是用户输入的时间总的毫秒数
            var times = (inputTime - nowTime) / 1000; //times是剩余时间总的秒数 1秒等于1000毫秒
            var d = parseInt(times / 60 / 60 /24); // 计算天数
            d = d < 10 ? '0' + d : d; //判断如果 d<10 则执行'0'+d 不满足则执行返回d
            var h = parseInt(times / 60 / 60 % 24); // 计算小时
            h = h < 10 ? '0' + h : h; 
            var m = parseInt(times / 60 % 60 ); // 计算分数
            m = m < 10 ? '0' + m : m;
            var s = parseInt(times % 60); // 计算当前秒数
            s = s < 10 ? '0' + s : s;
            alert('距离' + time + '剩余' + d + '天' + h + '小时' + m + '分' + s + '秒');

        }
        var time = prompt('请输入您要倒计时的时间：\n 格式：1999-10-10 10:10:10');
        countDown(time);
    </script>
</head>
<body>
    
</body>
</html>